/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pruebas;

import java.lang.reflect.Method;
import modelo.Usuario;
import dao.UsuarioDAO;
import java.lang.reflect.InvocationTargetException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import logica.FechaHora;
import modelo.Usuario;

/**
 *
 * @author Elias Mendoza
 */
public class pruebaHora {

    public <Registro> void insertarFormulario(Registro r) {
        System.out.println(r.getClass().getSimpleName());
        String claseDAO = r.getClass().getSimpleName() + "DAO";
        System.out.println(claseDAO);
        Class clase;
        Class[] dao;
        Object obj;
        Object[] parametro;
        Method guardar;
        System.out.println("3");
        try {
            clase = Class.forName("UsuarioDAO");
            System.out.println("4");
            System.out.println(clase.getSimpleName());
            obj = clase.newInstance();
            dao = new Class[1];
            dao[0] = Class.forName(r.getClass().getSimpleName() + "DAO");
            guardar = clase.getMethod("guardar", dao);
            parametro = new Object[1];
            parametro[0] = r;
            guardar.invoke(obj, parametro);

        } catch (NoSuchMethodException e) {
            System.out.println("Error al acceder al metodo. " + e);
        } catch (SecurityException e) {
            System.out.println("Error al acceder al metodo. " + e);
        } catch (InvocationTargetException e) {
            System.out.println("Error al ejecutar el metodo. " + e);
        } catch (InstantiationException e) {
            System.out.println("Error al instanciar el objeto. " + e);
        } catch (IllegalAccessException e) {
            System.out.println("Error al instanciar el objeto. " + e);
        } catch (ClassNotFoundException e) {
        }

    }

    public static void main(String arg[]) {
        pruebaHora ph = new pruebaHora();
//        Usuario u = new Usuario();
//        u.setDireccion("Lerdo de Tejada 25");
//        System.out.println("1");
//        ph.insertarFormulario(u);
        ph.calculate();
    }

    public void calculate() {
      String dia,mes,año;
      
        
        FechaHora fh = new FechaHora();
        Date fechaDesde= fh.getFecha("08/08/2011");
        Date fechaHasta= fh.getFecha("08/09/2011");
        SimpleDateFormat formatoFecha = new SimpleDateFormat("yyyy-MM-dd");
        //Calendar calendar = Calendar.getInstance();
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(fechaDesde); // setea el calendario con la fecha actual.
        while (true) {
//          dia = Integer.toString(calendar.get(Calendar.DATE));
//          mes = Integer.toString(calendar.get(Calendar.MONTH));
//          año = Integer.toString(calendar.get(Calendar.YEAR));
//            System.out.println(dia+"/"+mes+"/"+año); // muestra la fecha actual.
          Date fecha = calendar.getTime();
          String fe = formatoFecha.format(fecha);
          System.out.println(calendar.getTime()+"----"+fe);
            if (calendar.getTime().equals(fechaHasta)) {
                break; // si las fechas son 
            }// iguales, 
// termina el bucle.
            calendar.add(Calendar.DATE, 1);
        }
    }
}
